package main

import "fmt"

func main () {
	var arr = []int{0,1,2,3,4,5,6}
	s1 := arr[3:5]
	// 打印结果为[3,4]
	fmt.Println(s1)

	// s1的结果为[3,4],虽然下标只有0和1，但是默认情况下5和6元素的下标还是存在的
	// 因此获取下标为2的元素，将获取到元素5。获取下标为3的元素，将获取元素6
	// 但是获取7以后的下标将获取不到元素，会直接报错out of range的错误
	s2 := s1[1:3]
	// 打印结果为[4,5]
	fmt.Println(s2)

	// 打印s2向后取值的话，它的长度有多少
	fmt.Println(cap(s2))

	// 以下操作将会报错，因为s1就只有两个元素，获取下标为3的元素将获取不到，直接报错
	//s3 := s1[3]
	//fmt.Println(s3)
}